package com.harmontronics.hanma.paas.paas.dto.iam.input;

import com.harmontronics.hanma.paas.paas.domain.iam.entity.valueobject.MenuTargetEnum;
import com.harmontronics.hanma.paas.paas.domain.iam.entity.valueobject.MenuTypeEnum;
import io.swagger.annotations.ApiModelProperty;

import java.time.LocalDateTime;

import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

/**
 * ${comments}
 *
 * @author paas-generator
 * @email paas-generator@harmontronics.com
 * @date 2021-04-10 10:37:26
 */
@Data
public class HmMenuCreateInput {


    /**
     * 菜单类型
     */
    @ApiModelProperty(value = "菜单类型")
    @NotNull(message = "hm.pass.field_non_nullable")
    private MenuTypeEnum type;

    /**
     * 菜单名称
     */
    @ApiModelProperty(value = "菜单名称")
    @NotNull(message = "hm.pass.field_non_nullable")
    @NotEmpty(message = "hm.pass.field_non_nullable")
    @NotBlank(message = "hm.pass.field_non_nullable")
    private String name;

    /**
     * 页面ID
     */
    @ApiModelProperty(value = "页面ID")
    private Long pageId;

    @ApiModelProperty(value = "父级ID")
    private Long parentId;

    /**
     * 图标
     */
    @ApiModelProperty(value = "图标")
    private String icon;

    /**
     * 排序
     */
    @ApiModelProperty(value = "排序")
    private Integer serialNum;

    /**
     * 打开方式
     */
    @ApiModelProperty(value = "打开方式")
    @NotNull(message = "hm.pass.field_non_nullable")
    private MenuTargetEnum target;

    private String pathName;

}
